package com.wfy.common.util;

import org.apache.shiro.session.Session;
import org.apache.shiro.session.mgt.eis.SessionIdGenerator;
import org.springframework.util.IdGenerator;

import java.io.Serializable;
import java.util.UUID;

/**
 * Created with IntelliJ IDEA.
 * User: wangxindong
 * Date: 2017/12/23
 * Time: 10:32
 */
public class IdGenerate implements IdGenerator, SessionIdGenerator {

    // ================================================================
    // Constants
    // ================================================================

    // ================================================================
    // Fields
    // ================================================================


    // ================================================================
    // Constructors
    // ================================================================

    // ================================================================
    // Methods from/for super Interfaces or SuperClass
    // ================================================================


    private static String uuid() {
        return UUID.randomUUID().toString().replaceAll("-", "");
    }

    @Override
    public Serializable generateId(Session session) {
        return uuid();
    }

    @Override
    public UUID generateId() {
        return UUID.randomUUID();
    }

    // ================================================================
    // Public or Protected Methods
    // ================================================================


    // ================================================================
    // Getter & Setter
    // ================================================================

    // ================================================================
    // Private Methods
    // ================================================================


    // ================================================================
    // Inner or Anonymous Class
    // ================================================================

    // ================================================================
    // Test Methods
    // ================================================================

}
